function obj = get_sat_angle(obj,sat)
        time_size = length(obj.trajectorys.trj);
        obj.num_of_epoch = time_size;
        obRange = 1:time_size;
        timeRange = sat.timerange;    % 时间轴
        timeRange = timeRange(obRange);
        disp("正在获取角度值观测");
        h = waitbar(0, '正在获取卫星角度值观测...');
        wgs84 = wgs84Ellipsoid('meter');
        % t = sat.timerange;
        % selectedData = (t >= startime & t <= endtime);
        % satpos = sat.satpos(selectedData).posvel;
        visible_sat_gather = [];
        s_lla = obj.trajectorys.trj(:,1:3);%获取第i个测站的经纬高
        for j = 1:time_size
            satpos = sat.satpos(j).posvel;
            [s_n,s_e,s_d] = ecef2ned(satpos(:,1),satpos(:,2),satpos(:,3),...
                s_lla(j,1),s_lla(j,2),s_lla(j,3),wgs84);
            R = sqrt(s_n.^2+s_e.^2+s_d.^2);
            ele = asind(s_d./R);
            az = atan2d(s_e,s_n);
            visible_index =  find(ele<=(-obj.angle_mask));%仰角屏蔽
            angle(j).angle = [az(visible_index),ele(visible_index)];
            angle(j).time = timeRange(j);
            satobs(j).satobs = visible_index;
            satobs(j).time = timeRange(j);
            visible_sat_gather = unique([visible_sat_gather;visible_index]);
            waitbar(j / (time_size), h, sprintf('获取卫星角度值观测: %d%%', ...
                round(j / time_size * 100)));
        end
        % access(obj.station,sat.sat(visible_sat_gather));
        obj.angle_obs = angle';
        obj.sat_obs = satobs';
        % access(obj.station,sat.sat(satobs));
        % obj.setsatpos(Satpos);
        close(h);
        disp(['共成功获取',num2str(time_size),'个历元','的卫星角度观测值(ned)']);
      end